-- *****************************************************************
-- Juniper-SDX-DES-MIB
--
-- Juniper Networks Inc.
-- Juniper Management Center MIB
--
Juniper-SDX-DES-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    Integer32,
    Counter32,
    Gauge32,
    TimeTicks
        FROM SNMPv2-SMI

    DisplayString
        FROM SNMPv2-TC

    MODULE-COMPLIANCE,
    OBJECT-GROUP
        FROM SNMPv2-CONF

    juniSdxMibs
        FROM Juniper-SDX-MIBS

    JuniSdxDesDirectoryType
        FROM Juniper-SDX-TC-MIB;

juniSdxDesMib MODULE-IDENTITY
    LAST-UPDATED "200308111100Z"  -- 08-Aug-03

    ORGANIZATION "Juniper Networks, Inc."
    CONTACT-INFO
        "        Juniper Technical Assistance Center
                 Juniper Networks, Inc.
                 1194 N. Mathilda Avenue
                 Sunnyvale, CA 94089
                 E-mail: support@juniper.net"

    DESCRIPTION
        "MIB of the SDX DES "

    REVISION "200308111100Z"  -- 08-Aug-03
    DESCRIPTION
    "Minor Syntax updates"

    REVISION "200211011600Z"  -- 1-Nov-02
    DESCRIPTION
    "
    DES TABLE:

    juniSdxDesAvgReadTime   -> Gauge32
    juniSdxDesAvgWriteTime  -> Gauge32
    juniSdxDesReads         -> Counter32
    juniSdxDesWrites        -> Counter32
    juniSdxDesEvents        -> Counter32

    Removed juniSdxDesIndex from Conformance
    Corrected spelling mistake in  juniSdxDesEvents
    description
    "

    REVISION "200210251600Z"  -- 25-Oct-02
    DESCRIPTION
    "Revision info updated."


    ::= { juniSdxMibs 5 }

juniSdxModuleId OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Table of DES MI-derived entries."
    ::= { juniSdxDesMib 1 }

juniSdxMgmtInterface OBJECT IDENTIFIER ::= { juniSdxDesMib 2 }

    juniSdxDesTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF JuniSdxDesEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "Table of DES MI-derived entries."
        ::= { juniSdxMgmtInterface 1 }

    juniSdxDesEntry OBJECT-TYPE
        SYNTAX      JuniSdxDesEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "A table entry describing DES MI. This table
         has one index: juniSdxDesIndex."
        INDEX   { juniSdxDesIndex }
        ::= { juniSdxDesTable 1 }

    JuniSdxDesEntry ::= SEQUENCE
    {
        juniSdxDesIndex                            Integer32,
        juniSdxDesConnectionId                     DisplayString,
        juniSdxDesHost                             DisplayString,
        juniSdxDesPort                             Integer32,
        juniSdxDesType                             JuniSdxDesDirectoryType,
        juniSdxDesLastDirFailureTime               TimeTicks,
        juniSdxDesLastPrimaryRestoreTime           TimeTicks,
        juniSdxDesAvgReadTime                      Gauge32,
        juniSdxDesAvgWriteTime                     Gauge32,
        juniSdxDesReads                            Counter32,
        juniSdxDesWrites                           Counter32,
        juniSdxDesEvents                           Counter32
    }

    juniSdxDesIndex OBJECT-TYPE
        SYNTAX      Integer32 (0..10000)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "An Index for the DES MI table."
        ::= { juniSdxDesEntry 1 } 

    juniSdxDesConnectionId OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "This is a textual ID to represent unique instances of a DES
         connection."
        ::= { juniSdxDesEntry 2 }

    juniSdxDesHost OBJECT-TYPE
        SYNTAX     DisplayString
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The current directory host identifier."
        ::= { juniSdxDesEntry 3 }

    juniSdxDesPort OBJECT-TYPE
        SYNTAX      Integer32 (0..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The current directory port identifier."
        ::= { juniSdxDesEntry 4 }

    juniSdxDesType OBJECT-TYPE
        SYNTAX      JuniSdxDesDirectoryType
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The current directory connection type."
        ::= { juniSdxDesEntry 5 }

    juniSdxDesLastDirFailureTime OBJECT-TYPE
        SYNTAX      TimeTicks
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The last time the DES had to switch from one of
         its configured directories (primary or backup )
         to another because of connection failure."
        ::= { juniSdxDesEntry 6 }

    juniSdxDesLastPrimaryRestoreTime OBJECT-TYPE
        SYNTAX      TimeTicks
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The last time the DES detected that the primary was
         again available and switched back to it."
        ::= { juniSdxDesEntry 7 }

    juniSdxDesAvgReadTime OBJECT-TYPE
        SYNTAX      Gauge32
        UNITS       "milliseconds"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The moving average directory response time for 
         read queries over the last n queries."
        ::= { juniSdxDesEntry 8 }

    juniSdxDesAvgWriteTime OBJECT-TYPE
        SYNTAX     Gauge32
        UNITS      "milliseconds"
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The moving average directory response time for 
         write queries over the last n queries."
        ::= { juniSdxDesEntry 9 }

    juniSdxDesReads OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The total number of directory read queries performed
         since this connection was established."
        ::= { juniSdxDesEntry 10 }

    juniSdxDesWrites OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The total number of directory write queries performed
         since this connection was established."
        ::= { juniSdxDesEntry 11 }

    juniSdxDesEvents OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The total number of directory events generated since this 
         connection was established."
        ::= { juniSdxDesEntry 12 }


-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--
-- Conformance information
--
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

juniSdxDesCompliances  OBJECT IDENTIFIER ::= { juniSdxDesMib 3 }
juniSdxDesGroups       OBJECT IDENTIFIER ::= { juniSdxDesMib 4 }

-- compliance statements

juniSdxDesCompliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
                "The compliance statement for entities which implement
                the SDX MIB."
        MODULE  -- this module
                MANDATORY-GROUPS { juniSdxDesGroup }
        ::= { juniSdxDesCompliances 1 }

juniSdxDesGroup OBJECT-GROUP
    OBJECTS {  
              juniSdxModuleId,
              juniSdxDesConnectionId,
              juniSdxDesHost,
              juniSdxDesPort,
              juniSdxDesType,
              juniSdxDesLastDirFailureTime,
              juniSdxDesLastPrimaryRestoreTime,
              juniSdxDesAvgReadTime,
              juniSdxDesAvgWriteTime,
              juniSdxDesReads,
              juniSdxDesWrites,
              juniSdxDesEvents
    }
    STATUS  current
    DESCRIPTION
        "A collection of management objects pertaining
        to system management capabilities in SDX. (DES)"
        ::= { juniSdxDesGroups 1 }

END